package com.cpit.platform.datasource;

public class DataSourceManager {


    public static void changeDataSource(String targetDataSourceId) throws Throwable {
        //如果不在我们注入的所有的数据源范围之内，那么输出警告信息，系统自动使用默认的数据源。
        if (!DataSourceContextHolder.containsDataSource(targetDataSourceId)) {
            System.err.println("数据源[{}]不存在，使用默认数据源 > {}"+targetDataSourceId);
        } else {
            System.out.println("Use DataSource : {} > {}"+targetDataSourceId);
            //找到的话，那么设置到动态数据源上下文中。
            DataSourceContextHolder.setDataSource(targetDataSourceId);
        }
    }


    public static void restoreDataSource() {
        System.out.println("Revert DataSource : {} > {}"+"default");
        //方法执行完毕之后，销毁当前数据源信息，进行垃圾回收。
        DataSourceContextHolder.clearDataSource();
    }
}